home *** CD-ROM | disk | FTP | other *** search
/ Pascal Super Library / Pascal Super Library (CW International)(1997).bin / DELPHI32 / GRIDS / MSTRGRID / MSTRDEM_.PAS < prev    next >
Pascal/Delphi Source File  |  1996-06-17  |  7KB  |  241 lines

  1. unit mStrDem_;
  2.  
  3. interface
  4.  
  5. uses
  6.   Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  7.   StdCtrls, Buttons, Grids, mStrList, ExtCtrls, Spin, mStrGrid;
  8.  
  9. type
  10.   TForm1 = class(TForm)
  11.     AbbruchBtn: TBitBtn;
  12.     Key_Type: TRadioGroup;
  13.     RowCnt: TSpinEdit;
  14.     ColCnt: TSpinEdit;
  15.     Label1: TLabel;
  16.     Label2: TLabel;
  17.     SaveBtn: TButton;
  18.     loadBtn: TButton;
  19.     Panel1: TPanel;
  20.     InsCol: TButton;
  21.     InsRow: TButton;
  22.     DelCol: TButton;
  23.     DelRow: TButton;
  24.     Anz: TSpinEdit;
  25.     Panel2: TPanel;
  26.     Search: TEdit;
  27.     Nextbtn: TButton;
  28.     FindBtn: TButton;
  29.     Substring_Search: TCheckBox;
  30.     RowWise: TCheckBox;
  31.     FindZeile: TButton;
  32.     FindSpalte: TButton;
  33.     Use_fixed: TRadioGroup;
  34.     Panel3: TPanel;
  35.     SpaltenSortBtn: TBitBtn;
  36.     ZeilenSortBtn: TButton;
  37.     SortRows: TButton;
  38.     SortCols: TButton;
  39.     SortThisRow: TButton;
  40.     SortThisCol: TButton;
  41.     Label3: TLabel;
  42.     Label4: TLabel;
  43.     FixCol: TSpinEdit;
  44.     FixRow: TSpinEdit;
  45.     mStrGrid1: TmStrGrid;
  46.     procedure FormCreate(Sender: TObject);
  47.     procedure AbbruchBtnClick(Sender: TObject);
  48.     procedure SpaltenSortBtnClick(Sender: TObject);
  49.     procedure ZeilenSortBtnClick(Sender: TObject);
  50.     procedure Key_TypeClick(Sender: TObject);
  51.     procedure Use_fixedClick(Sender: TObject);
  52.     procedure NextbtnClick(Sender: TObject);
  53.     procedure FindBtnClick(Sender: TObject);
  54.     procedure Substring_SearchClick(Sender: TObject);
  55.     procedure RowWiseClick(Sender: TObject);
  56.     procedure FindZeileClick(Sender: TObject);
  57.     procedure FindSpalteClick(Sender: TObject);
  58.     procedure SortRowsClick(Sender: TObject);
  59.     procedure SortColsClick(Sender: TObject);
  60.     procedure InsColClick(Sender: TObject);
  61.     procedure DelRowClick(Sender: TObject);
  62.     procedure InsRowClick(Sender: TObject);
  63.     procedure DelColClick(Sender: TObject);
  64.     procedure SaveBtnClick(Sender: TObject);
  65.     procedure RowCntChange(Sender: TObject);
  66.     procedure ColCntChange(Sender: TObject);
  67.     procedure loadBtnClick(Sender: TObject);
  68.     procedure SortThisRowClick(Sender: TObject);
  69.     procedure SortThisColClick(Sender: TObject);
  70.     procedure FixColChange(Sender: TObject);
  71.     procedure FixRowChange(Sender: TObject);
  72.   private
  73.     { Private-Deklarationen }
  74.   public
  75.     { Public-Deklarationen }
  76.   end;
  77.  
  78. var
  79.   Form1: TForm1;
  80.  
  81. implementation
  82.  
  83. {$R *.DFM}
  84.  
  85. var Search_Rowwise:boolean;
  86.     max_rows:integer;
  87.     
  88. procedure update_size;
  89. begin with form1,mStrGrid1 do
  90. begin RowCnt.value:=RowCount;
  91.       ColCnt.value:=ColCount;
  92.       FixRow.value:=FixedRows;
  93.       FixCol.value:=FixedCols;
  94. end end;
  95.  
  96. procedure TForm1.FormCreate(Sender: TObject);
  97. begin with mStrGrid1 do
  98.       begin Use_fixed.itemindex:=ord(UseFixed);
  99.             Search_Rowwise:=true;
  100.             Substring_search.checked:=SearchSubstring;
  101.             loadFromFile('mStrDemo.dat',' ');
  102.             update_size;
  103.             max_rows:=rowcount;
  104. end   end;
  105.  
  106. procedure TForm1.AbbruchBtnClick(Sender: TObject);
  107. begin close end;
  108.  
  109. procedure TForm1.SpaltenSortBtnClick(Sender: TObject);
  110. begin with mStrGrid1 do
  111.       SortCompleteColumns(row)
  112. end;
  113.  
  114. procedure TForm1.ZeilenSortBtnClick(Sender: TObject);
  115. begin with mStrGrid1 do
  116.       SortCompleteRows(col)
  117. end;
  118.  
  119. procedure TForm1.Key_TypeClick(Sender: TObject);
  120. begin with mStrGrid1 do
  121.       case Key_Type.itemindex of
  122.       0:keytype:=soString;
  123.       1:keytype:=soStringCaseSensitive;
  124.       2:keytype:=soNumeric;
  125. end end;
  126.  
  127. procedure TForm1.Use_fixedClick(Sender: TObject);
  128. begin mStrGrid1.UseFixed:=HandleFixed(Use_fixed.itemindex) end;
  129.  
  130. procedure TForm1.Substring_SearchClick(Sender: TObject);
  131. begin mStrGrid1.SearchSubstring:=Substring_search.checked; end;
  132.  
  133. procedure TForm1.RowWiseClick(Sender: TObject);
  134. begin Search_Rowwise:=Rowwise.checked; end;
  135.  
  136. procedure TForm1.NextbtnClick(Sender: TObject);
  137. var c,r:integer;
  138. begin with mStrGrid1 do
  139.       if findnext(c,r)
  140.       then begin col:=c; row:=r;
  141.            end
  142.       else begin nextbtn.enabled:=false;
  143.                  setfocus
  144. end        end;
  145.           
  146. procedure TForm1.FindBtnClick(Sender: TObject);
  147. var c,r:integer;
  148. begin with mStrGrid1 do
  149.       if findfirst(search.text,Search_Rowwise,c,r)
  150.       then begin col:=c; row:=r;
  151.                  nextbtn.enabled:=true;
  152.            end
  153.       else begin nextbtn.enabled:=false;
  154.                  setfocus
  155. end        end;
  156.  
  157. procedure TForm1.FindZeileClick(Sender: TObject);
  158. var c,r:integer;
  159. begin with mStrGrid1 do
  160.       if findfirstinrow(search.text,row,c,r)
  161.       then begin col:=c; row:=r;
  162.                  nextbtn.enabled:=true;
  163.            end
  164.       else begin nextbtn.enabled:=false;
  165.                  setfocus
  166. end        end;
  167.  
  168. procedure TForm1.FindSpalteClick(Sender: TObject);
  169. var c,r:integer;
  170. begin with mStrGrid1 do
  171.       if findfirstincol(search.text,col,c,r)
  172.       then begin col:=c; row:=r;
  173.                  nextbtn.enabled:=true;
  174.            end
  175.       else begin nextbtn.enabled:=false;
  176.                  setfocus
  177. end        end;
  178.  
  179. procedure TForm1.SortRowsClick(Sender: TObject);
  180. begin mStrGrid1.SortAllRows end;
  181.  
  182. procedure TForm1.SortColsClick(Sender: TObject);
  183. begin mStrGrid1.SortAllCols end;
  184.  
  185. procedure TForm1.SortThisRowClick(Sender: TObject);
  186. begin with mStrGrid1 do sortrow(row) end;
  187.  
  188. procedure TForm1.SortThisColClick(Sender: TObject);
  189. begin with mStrGrid1 do sortcol(col) end;
  190.  
  191. procedure TForm1.InsColClick(Sender: TObject);
  192. begin with mStrGrid1 do InsertCols(Col,Anz.value);
  193.       update_size
  194. end;
  195.  
  196. procedure TForm1.DelRowClick(Sender: TObject);
  197. begin with mStrGrid1 do DeleteRows(Row,Anz.value);
  198.       update_size
  199. end;
  200.  
  201. procedure TForm1.InsRowClick(Sender: TObject);
  202. begin with mStrGrid1 do InsertRows(Col,Anz.value);
  203.       update_size
  204. end;
  205.  
  206. procedure TForm1.DelColClick(Sender: TObject);
  207. begin with mStrGrid1 do DeleteCols(Col,Anz.value);
  208.       update_size
  209. end;
  210.  
  211. procedure TForm1.loadBtnClick(Sender: TObject);
  212. begin with mStrGrid1 do
  213. begin LoadFromFile('mStrDemo.dat',' ');
  214.       fixedrows:=1; fixedcols:=1;
  215.       update_size
  216. end end;
  217.  
  218. procedure TForm1.SaveBtnClick(Sender: TObject);
  219. begin mStrGrid1.savetofile('mStrDemo.dat',' ') end;
  220.  
  221. procedure TForm1.RowCntChange(Sender: TObject);
  222. var i:integer;
  223. begin with mStrGrid1 do
  224. begin RowCount:=RowCnt.value;
  225.       if RowCount>max_rows then
  226.        begin for i:=max_rows to rowCount-1 do
  227.               cells[0,i]:='#'+inttostr(i);
  228.              max_rows:=rowcount;
  229. end end end;
  230.  
  231. procedure TForm1.ColCntChange(Sender: TObject);
  232. begin mStrGrid1.ColCount:=ColCnt.value end;
  233.  
  234. procedure TForm1.FixColChange(Sender: TObject);
  235. begin mStrGrid1.fixedcols:=FixCol.value end;
  236.  
  237. procedure TForm1.FixRowChange(Sender: TObject);
  238. begin mStrGrid1.fixedrows:=FixRow.value end;
  239.  
  240. end.
  241.